Skip to main content

CODESYS 4

CODESYS 4 ist ein ressourcenschonendes, plattformunabhängiges Entwicklungswerkzeug für die industrielle Automatisierungstechnik nach IEC 61131-3. Die Bedienoberfläche läuft vollständig im Browser und ist damit auf Betriebssystemen wie Windows, Linux, macOS, iPadOS und Android verfügbar. Das Backend, der eigentliche Funktionskern, ist von der Oberfläche getrennt. Es lässt sich auf Desktop-, Server-, Cloud- und On-Premises-Umgebungen betreiben, unter Windows ebenso wie unter Linux sowie auf x86/x64- und ARM-CPU-Plattformen.

Bei der Entwicklung von CODESYS 4 standen die Softwarequalität und ein solider Unterbau der Plattform im Vordergrund. Der Funktionsumfang der Version 1.0.0.0 ist gezielt auf zwei Einsatzszenarien zugeschnitten und wird in kurzen Freigabezyklen kontinuierlich wachsen (siehe Abschnitt Ausblick auf die weitere Entwicklung).

. Die Eigenschaften von CODESYS 4 beruhen im Kern auf drei Architekturentscheidungen:
  • Trennung von Backend und Frontend: Die grafische Oberfläche ist für die Kernfunktionen entbehrlich. Dadurch ist CODESYS 4 sowohl interaktiv im Browser als auch vollständig automatisiert über die Kommandozeile (headless) nutzbar.

  • Textbasierte, offene Datenablage: Ein Projekt ist ein Verzeichnis aus lesbaren Textdateien statt einer binären Projektdatei.

  • Gemeinsame Laufzeit mit CODESYS 3: Der erzeugte Maschinencode ist identisch, kompilierte Bibliotheken sind zwischen beiden Werkzeugen austauschbar.

Zielgruppe und Einsatzszenarien

CODESYS 4 richtet sich an Anwender, die IEC-61131-3-Steuerungsanwendungen entwickeln und dabei etablierte Methoden aus der IT – plattformunabhängiges Arbeiten, Versionsverwaltung, CI/CD und Teamentwicklung – in der Automatisierung nutzen möchten. IEC 61131-3 bleibt die Grundlage: Die Programmiersprachen und Arbeitsweisen gelten unverändert weiter.

. Die erste Version ist auf zwei Einsatzszenarien ausgerichtet:
  • Bibliotheksentwicklung mit CI/CD: CODESYS 4 eignet sich für die Entwicklung von Bibliotheken, die in automatisierte Build- und Freigabeprozesse eingebunden werden. Compileranbindung über die Kommandozeile, dateibasierte Projektablage und deterministische Abhängigkeitsauflösung sind fester Bestandteil der Architektur. Bibliotheken lassen sich damit reproduzierbar und ohne grafische Oberfläche bauen – auf jedem unterstützten Betriebssystem und in jeder gängigen CI/CD-Pipeline.

  • Einfache Applikationen: CODESYS 4 eignet sich in der ersten Version für überschaubare Steuerungsanwendungen auf einer einzelnen Steuerung. Dazu zählen beispielsweise kleine Maschinen, Prüfstände oder in Geräte integrierte Anwendungen mit einer begrenzten Anzahl digitaler und analoger E/A-Punkte. Über den Editor des Modbus-Gerätes (Modbus TCP) ordnen Sie E/A-Variablen zu und laden die Applikation auf die Steuerung. Im Onlinebetrieb überwachen Sie Variablen zur Laufzeit und passen Parameter an. Damit decken Sie den zentralen Inbetriebnahme-Workflow vollständig in CODESYS 4 ab.

Für Projekte, die darüber hinausgehen, ist CODESYS 3 weiterhin das Werkzeug der Wahl (siehe Abschnitt Einordnung im CODESYS-Portfolio).

Vorteile von CODESYS 4

Plattformunabhängigkeit: Die Oberfläche von CODESYS 4 läuft in jedem aktuellen Browser und ist damit unabhängig vom Betriebssystem des Arbeitsplatzes. Das Backend läuft unter Windows und Linux, einschließlich x86/x64- und ARM-CPU-Plattformen. Für die Entwicklung unter Linux und macOS ist keine virtuelle Maschine erforderlich.

Durch die Trennung von Backend und Frontend lässt sich CODESYS 4 in unterschiedlichen Konstellationen betreiben:

  • Desktop-Applikation

  • Lokal im Browser geöffnete Einzelplatzinstanz

  • Zentral administrierter Mehrbenutzer-Server

  • Direkt auf der Steuerungshardware

  • Auf einer virtuellen Steuerung (vPLC)

Textbasierte und offene Datenablage: Ein zentrales Merkmal von CODESYS 4 ist die textbasierte, UTF-8-codierte Datenablage. CODESYS 4 arbeitet direkt auf der Dateiebene: Ein Projekt ist ein Verzeichnis aus lesbaren Dateien. IEC-Quelltexte liegen als UTF-8-Textdateien vor, strukturierte Daten als JSON, Gerätebeschreibungen als XML, Bilder in ihrem natürlichen Format (JPEG, PNG, SVG). Jedes Element wird in einer eigenen Datei innerhalb einer nachvollziehbaren Ordnerstruktur gespeichert.

Der Zugriff von außen ist dabei ein ausdrücklicher Anwendungsfall. Die Dateien lassen sich direkt mit externen Standardwerkzeugen ansehen, vergleichen und zusammenführen – etwa mit Texteditoren, Diff-Tools, Git-Clients oder in der Diff-Ansicht von GitLab und GitHub. CODESYS 4 formatiert Dateien stabil und deterministisch. Dazu gehören einheitliche Zeilenumbrüche, eine feste Reihenfolge in JSON-Dateien, konsistente Einrückungen und der Verzicht auf überflüssige Metadaten. Dadurch zeigen Vergleiche die tatsächlichen inhaltlichen Änderungen und werden nicht durch Formatierungsrauschen erschwert. Die Versionierung übernehmen etablierte Werkzeuge wie Git, SVN oder Mercurial. CODESYS 4 ist damit nur eines von mehreren Werkzeugen im Entwicklungsablauf und nicht mehr das alleinige "Master-Tool".

Weil externe Änderungen jederzeit möglich sind, ist CODESYS 4 darauf ausgelegt, Inkonsistenzen kontrolliert zu behandeln: Nach einem Merge oder Checkout erkennt CODESYS 4 geänderte Dateien über die Dateisystemüberwachung; Fehler in der Projektablage werden mit einer Meldung angezeigt.

Workspace-Konzept: Projekte werden in CODESYS 4 in sogenannten Workspaces organisiert. Ein Workspace fasst mehrere Geräte- und Bibliotheksprojekte zusammen, die gemeinsam geladen und gleichberechtigt nebeneinander bearbeitet werden – vergleichbar mit einer Solution in einer modernen Entwicklungsumgebung. Es gibt kein primäres Projekt und alle Projekte im Workspace sind parallel editierbar.

In der Praxis bedeutet das: Ein Modbus-Projekt aus Server, Client und einer gemeinsam genutzten Bibliothek entwickeln Sie in einem einzigen Workspace nebeneinander. Ändern Sie eine Struktur in der Bibliothek, arbeiten Sie unmittelbar in Server- und Client-Applikation weiter. Gemeinsam genutzter Code wird in eine Bibliothek ausgelagert, die von allen Applikationen referenziert wird. Da Bibliotheksprojekte im selben Workspace geöffnet und bearbeitet werden, entwickeln Sie Bibliothek und Applikation in einem Arbeitsgang.

Automatisierung und CI/CD von Grund auf: CODESYS 4 ist von Anfang an auf Continuous Integration und Continuous Delivery ausgelegt. Die Bedienung über Kommandozeile ist eine gleichberechtigte Einsatzvariante neben Desktop-Anwendung und Mehrbenutzer-Server und nicht ein nachgelagertes Zusatzwerkzeug. Weil der Compiler ohne grafische Oberfläche läuft und unabhängig vom verwendeten Werkzeug identischen Maschinencode erzeugt, baut eine Pipeline bei jedem Commit reproduzierbar.

Abhängigkeiten werden dabei nach einem Muster verwaltet, das aus der modernen Softwareentwicklung bekannt ist (vergleichbar mit npm oder NuGet): Eine Manifestdatei (Libraries.json) beschreibt die gewünschten Bibliotheksreferenzen, eine Lock-Datei (Libraries.lock.json) hält die konkrete Auflösung aller direkten und indirekten Abhängigkeiten mit Version und SHA384-Prüfsumme fest. Zusammen mit der semantischen Versionierung (SemVer) bauen identische Quellstände dadurch reproduzierbar.

Gemeinsames Laufzeitsystem mit CODESYS 3: CODESYS 4 und CODESYS 3 teilen sich dasselbe Laufzeitsystem. Der Compiler erzeugt in beiden Werkzeugen identischen Maschinencode, und kompilierte Bibliotheken (Compiled Libraries) sind in beide Richtungen austauschbar. Code, der in CODESYS 4 kompiliert wurde, läuft auf jeder Steuerung, auf der heute CODESYS 3-Code läuft – ohne neue Zielhardware und ohne erneute Laufzeit-Zertifizierung. Voraussetzung ist ein Laufzeitsystem ab CODESYS V3.5 SP 16.

Sicherheit als Bestandteil der Architektur: Sicherheit ist in CODESYS 4 von Grund auf berücksichtigt (Security by Design). Dazu gehören moderne Authentifizierungsverfahren, Rate Limiting und Prozessisolation – besonders relevant für den Betrieb als Mehrbenutzer-Server.

Bedienung und Werkzeuge

Für die Programmierung stehen in der Version 1.0.0.0 der ST-Editor und der Kontaktplan-Editor (KOP) zur Verfügung. Der Kontaktplan-Editor ist von Grund auf neu gestaltet und auf der webbasierten Architektur aufgebaut.

Eine eigene Scripting-Schnittstelle ist nicht vorgesehen, da die Projektdateien direkt zugänglich und bearbeitbar sind. Für Automatisierungs- und Integrationsaufgaben steht stattdessen eine umfangreiche Kommandozeilensteuerung zur Verfügung.

Einordnung im CODESYS-Portfolio

CODESYS 4 ist eine vollständig neu entwickelte Anwendung und als Ergänzung zu CODESYS 3 zu verstehen, nicht als dessen Ersatz. Beide Generationen bestehen auf absehbare Zeit nebeneinander und teilen sich dasselbe Laufzeitsystem und dieselben Bibliotheken.

. CODESYS 4 ist das passende Werkzeug für:
  • Bibliotheksentwicklung in automatisierten Build- und Freigabeprozessen

  • überschaubare Steuerungsanwendungen auf einer einzelnen Steuerung

  • Entwicklung unter Linux oder macOS sowie den zentral administrierten Mehrbenutzer-Betrieb

. CODESYS 3 ist das passende Werkzeug für:
  • komplexe Projekte mit vollem Funktionsumfang, beispielsweise mit Visualisierung, Motion oder weiteren Feldbussen

  • Projekte, die den CODESYS Test Manager oder den Debugger benötigen

Tipp

Wenn Sie CODESYS 3 kennen, finden Sie im Kapitel Umstieg von CODESYS 3 die konzeptionellen Unterschiede und eine Zuordnung der gewohnten Funktionen.

Ausblick auf die weitere Entwicklung

CODESYS 4 folgt einem kurzen Freigabezyklus: Angestrebt ist etwa alle zwei Monate eine neue Hauptversion, die durch eine moderne Technologiebasis und eine umfangreiche automatisierte Testabdeckung ermöglicht wird. Statt einzelner Patches werden vollständige Upgrades bereitgestellt.

. Der Funktionsumfang wächst dabei Version für Version.
  • Nachfolgende Versionen bringen u. a. Online-Change, zusätzliche Bibliothekskommandos für die Kommandozeile, das Ausschließen von Elementen aus dem Build ("exclude from build"), Benutzer-installierbare Extensions sowie laufende Fehlerkorrekturen.

  • Weitere grafische Editoren: Die Umsetzung von CFC hat begonnen; der Kontaktplan-Editor wird um komfortablere Funktionen erweitert. Dies sind unter anderem intelligente Code-Unterstützung, erweiterte Bearbeitungs- und Refactoring-Funktionen, Drag & Drop, Kontaktplan-Monitoring und Fehlerunterstreichung.

  • Weitere Feldbusse wie EtherCAT und PROFINET

Ein strategischer Schwerpunkt der weiteren Entwicklung ist die Extension Platform. Sie ermöglicht eine modulare Erweiterung von CODESYS 4 um zusätzliche Funktionen, die als Extensions bereitgestellt und installiert werden.